<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
	<TITLE></TITLE>
	<META NAME="GENERATOR" CONTENT="OpenOffice.org 2.0  (Win32)">
	<META NAME="CREATED" CONTENT="20080130;13432693">
	<META NAME="CHANGED" CONTENT="20080130;14011862">
</HEAD>
<BODY LANG="en-US" DIR="LTR">
<P>Eli Ribble</P>
<P>CS6360 Assignment 1</P>
<P><BR><BR>
</P>
<P><IMG SRC="Interface.png" NAME="graphics1" ALIGN=LEFT WIDTH=1016 HEIGHT=639 BORDER=0><BR CLEAR=LEFT><BR><BR>
</P>
<P>The above snapshot shows my interface. The right hand side of the
interface shows the object and also allows the user to manipulate the
viewing angle via the mouse. Simply click on it and move the mouse.
The button you click determines the tyre of change performed on the
camera. Right click rotates around the viewing point, left click
translates and a middle click (if you have one) allows you to zoom.
In the lefthand pane there is a set of radio buttons for switching
between different objects to look at. The widgets below the radio
button control various aspects of the camera and scene. For each one
the text box shows the current value and allows the user to fine
control via the arrow buttons. The larger arrows to the right give
coarse control. Just left click and hold down over an arrow. By
dragging up and down, the value corresponding to the arrow will
change. I would suggest trying it out with the Light Intensity
control, or either plane, rather than the FOV or IOD controls.</P>
<P>The next set of radio buttons controls the type of projection. I
think they are self-explanatory. Finally, the 3 checkboxes on the
bottom control other aspects. The most interesting of them is the
Stereo View, which switches to showing two side-by-side views of the
scene. While in stereo view mode, if glFrustum is selected you can
see the effects of different IODs and FOVYs. You won't see any effect
when manipulating the IOD, focal length or FOVY until you switch to
glFrustum and stereo view &ndash; other projections don't use those
values in the rendering pipeline</P>
<P><IMG SRC="Results.png" NAME="graphics2" ALIGN=LEFT WIDTH=1242 HEIGHT=781 BORDER=0><BR CLEAR=LEFT><BR><BR>
</P>
<P>The above image shows some of the results of my program,
demonstrating its most interesting features. First, this is in stereo
view mode, showing two different displays of the same scene. Second,
the IOD is kept purposefully high so that you can see that the images
are in fact calculated from 2 different vantage points. Third, I've
switched to a torus to show the different objects that are supported.
Finally, the FOVY has been slightly modified from default, though you
probably wouldn't realize it just looking at the image.</P>
<P>One important thing to note is that this program uses a few
powerful libraries. I use GLUT to create all of the shapes (except
the floor) as well as handle some of the windowing internals. I also
used GLUI to make the interface. My mouse camera control is based off
of some GLUT examples. As such, to run this program you will probably
need glut32.dll and glu32.dll. I have included them in the Release
folder, for your convenience. You will also need msvcr80.dll and
msvcp80.dll, which should be included with the .Net framework 2.0. In
case you don't have it, I've included an installation program,
vcredist_x86.exe, which should install the necessary .dll files if
you are running an x86 and 32-bit windows. If not, well, you're on
your own, I'd be surprised if anything works for you, you poor
shmuck.</P>
<P>Feel free to contact me if you have any difficulties building the
source, or have questions about my assignment or interface</P>
<P>-Eli Ribble</P>
</BODY>
</HTML>